#ifndef _GWBASE_ENCRYPT_COMPRESSS_HELPER_H_
#define _GWBASE_ENCRYPT_COMPRESSS_HELPER_H_

#include <string>
#include <gwbase/base/status.h>
#include "gwbase/stopping_flag.h"

namespace dicom {

enum  CompressMethod {
  DEFLATE = 0,
  GZIP,
  DEFLAT_RAW,
  // ZIP,
};

class CompressHelper
{
 public:
  static Status Compress(const std::string &inpath, const std::string &outpath, 
                         IStoppingFlag *stop, CompressMethod method = DEFLATE);

  static Status Uncompress(const std::string &inpath, const std::string &outpath, 
                           IStoppingFlag *stop, CompressMethod method = DEFLATE);
};

}


#endif // _GWBASE_ENCRYPT_COMPRESSS_HELPER_H_
